package com.gxa.eshops.sso.repository;

import com.gxa.eshops.sso.entity.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.RepositoryDefinition;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @program: IntelliJ IDEA
 * @description: 由jpa声明,由hiberrate实现的基础crud操作的持久化对象
 * 通过创建接口并继承CrudRepository,就获取了基本的api操作
 * @author: Mr.Wang
 * @create: 2022-07-05 16:28
 **/
@RepositoryDefinition(domainClass = User.class,idClass = Long.class)
public interface UserRepository extends CrudRepository<User,Long> {
    /**
     * 找到之间最后登录时间
     * @param lastLoginTime  最后登录时间
     * @param lastLoginTime2 最后一次登录time2
     * @return {@code List<User>}
     */
    List<User> findByLastLoginTimeBetween(LocalDateTime lastLoginTime, LocalDateTime lastLoginTime2);

    /**
     * 找到用户通过电话
     * @param phone 电话
     * @return {@code User}
     */
    User findUserByPhone(String phone);

    /**
     * 找到名字
     *
     * @param name 名字
     * @return {@code List<User>}
     */
    List<User> findUsersByNameIsLike(String name);



}
